package com.bit.cfdi.web.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "modulos_usuario")
public class ModulosUsuario {
	
	private Long idModulosUsuario;
	private String nombreModulo;
	private UsuarioNegocio usuarioNegocio;
	private Long ultimaModificacionPor;
	private Calendar fechaModificacion;

	public ModulosUsuario() {

	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column( name="id_modulos_usuario", nullable = false)
	public Long getIdModulosUsuario() {
		return idModulosUsuario;
	}
	
	public void setIdModulosUsuario(Long idModulosUsuario) {
		this.idModulosUsuario = idModulosUsuario;
	}
	
	@Column(name = "nombre_modulo", nullable = false)
	public String getNombreModulo() {
		return nombreModulo;
	}
	
	public void setNombreModulo(String nombreModulo) {
		this.nombreModulo = nombreModulo;
	}
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_usuario_negocio", nullable = false)
	public UsuarioNegocio getUsuarioNegocio() {
		return usuarioNegocio;
	}
	
	public void setUsuarioNegocio(UsuarioNegocio usuario) {
		this.usuarioNegocio = usuario;
	}
	
	@Column (name = "ultima_modificacion_por")
	public Long getUltimaModificacionPor() {
		return ultimaModificacionPor;
	}
	
	public void setUltimaModificacionPor(Long ultimaModificacionPor) {
		this.ultimaModificacionPor = ultimaModificacionPor;
	}
	
	@Temporal(TemporalType.TIMESTAMP)
	public Calendar getFechaModificacion() {
		return fechaModificacion;
	}
	
	public void setFechaModificacion(Calendar fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}	

}
